Carlos Garnacho [Mon, 11 Sep 2017 14:59:58 +0000 (16:59 +0200)]
tests: Update testoverlay "Chase" testcase to gtk4 crossing events
The intent is detecting enter events into the overlayed label, so just
connect to ::enter-notify-event on the label with no GdkWindow checks.
Daniel Boles [Fri, 15 Sep 2017 17:24:24 +0000 (18:24 +0100)]
Expander: get_label() return is nullable
Also, use gchar to match the header.
Emmanuele Bassi [Fri, 15 Sep 2017 14:57:34 +0000 (15:57 +0100)]
build: Declare cairo_libs outside MSVC check block
Otherwise there won't be a reference to it on non-MSVC builds.
Chun-wei Fan [Tue, 12 Sep 2017 05:34:36 +0000 (13:34 +0800)]
build: Add fallback dependency discovery for MSVC
For dependencies that do not generate pkg-config files for their Visual
Studio build systems, we need to look for them using cc.has_header() and
cc.find_library(), namely for Cairo and HarfBuzz, if one does not have
crafted pkg-config files for them (which, by themselves may be
error-prone).
As a result, we will still try to look for Cairo and HarfBuzz using
pkg-config, but will give another shot at them on Visual Studio using
cc.has_header() and cc.find_library() if they couldn't be found via
pkg-config.
https://bugzilla.gnome.org/show_bug.cgi?id=785210
Chun-wei Fan [Tue, 12 Sep 2017 05:31:28 +0000 (13:31 +0800)]
build: Correct PangoCairo required version
We ought to use pango_req instead of cairo_req for the version required
for PangoCairo.
https://bugzilla.gnome.org/show_bug.cgi?id=785210
Chun-wei Fan [Fri, 11 Aug 2017 09:05:55 +0000 (17:05 +0800)]
meson.build: Fix Vulkan library detection on Visual Studio
The Vulkan .lib file that is supplied by the LunarG Vulkan SDK is
vulkan-1.lib, not vulkan.lib, so make sure we look for the right
libraries when building on Visual Studio (I am not sure whether the
LunarG SDK will work for MinGW/mingw-w64 builds, as only Visual Studio
.lib files are provided).
Note that this will require one to set LIB and INCLUDE appropriately to
find the Vulkan .lib and header files, and possibly PATH if one's video
drivers do not contain the Vulkan runtime DLL.
https://bugzilla.gnome.org/show_bug.cgi?id=785210
Chun-wei Fan [Tue, 1 Aug 2017 08:57:11 +0000 (16:57 +0800)]
testsuite: Fix builder test on Windows/MSVC
Visual Studio does not support things like -Wl,export-dynamic, so we
need to export those symbols by using __declspec(dllexport). So, we
decorate these with macros which we define accordingly for this purpose.
https://bugzilla.gnome.org/show_bug.cgi?id=785210
Chun-wei Fan [Tue, 1 Aug 2017 08:44:20 +0000 (16:44 +0800)]
gtk/gentypefuncs.py: Open files in utf-8 encoding
On Python-3.x, we need to set the encoding when opening files, when this
script is run, as it might contain items that are not supported by the
system's locale (for example, non-English Windows). So, we use a
wrapper to set the encoding on Python 3.x, but open the file as we did
when using Python 2.x, since file encodings are not supported there.
https://bugzilla.gnome.org/show_bug.cgi?id=785210
Chun-wei Fan [Tue, 1 Aug 2017 08:37:43 +0000 (16:37 +0800)]
gdk/gdkconfig.h.meson: Add GDK_WINDOWING_WIN32
This is so that Meson can add this define once it is determined that we
are building for Windows.
https://bugzilla.gnome.org/show_bug.cgi?id=785210
Daniel Boles [Thu, 14 Sep 2017 20:19:33 +0000 (21:19 +0100)]
Expander: Annotate new()’s label arg as nullable
to match new_with_mnemonic()
Daniel Boles [Thu, 14 Sep 2017 20:19:12 +0000 (21:19 +0100)]
Expander: Replace (allow-none) with (nullable)
The former is deprecated in favour of the latter.
Daniel Boles [Thu, 14 Sep 2017 20:11:50 +0000 (21:11 +0100)]
Expander: Explain how to conditionally style arrow
Daniel Boles [Thu, 14 Sep 2017 18:22:31 +0000 (19:22 +0100)]
Spinner: Document how to select on animated in CSS
This is not particularly obvious, so it seems worth including.
Daniel Boles [Wed, 13 Sep 2017 13:47:40 +0000 (14:47 +0100)]
gtk-demo/theming: Don’t mislead about raised class
This class is not added by any widgets nor themed by Adwaita/HC.
However, it is presented here as if it does something. It doesn’t.
But we changed the 2 buttons with the .raised class to use symbolic
icons, unlike their ‘unraised’ counterparts, which is unnecessarily
confusing and might make people think .raised affects icons somehow.
So, make them use the same icons in all cases; that way, if .raised is
ever made to do anything, 6 years later, what it does will be clear.
https://bugzilla.gnome.org/show_bug.cgi?id=644248
Daniel Boles [Thu, 14 Sep 2017 17:34:21 +0000 (18:34 +0100)]
widget-factory: Usefully demo Frame shadow types
Instead of showing the 4 types except for GTK_SHADOW_NONE, which are all
treated identically and provide no way for themes to differentiate, just
keep 2 Frames, and make one of them GTK_SHADOW_NONE to demo a flat Frame
Daniel Boles [Wed, 13 Sep 2017 13:36:46 +0000 (14:36 +0100)]
Frame: Add missing fixed-width format to enums
Timm Bäder [Thu, 14 Sep 2017 14:04:50 +0000 (16:04 +0200)]
build: Add directories to the summary
Timm Bäder [Wed, 13 Sep 2017 15:58:45 +0000 (17:58 +0200)]
iconview: Stop using ::button-{press,release}-event
Use a gesture instead.
Timm Bäder [Wed, 13 Sep 2017 15:37:25 +0000 (17:37 +0200)]
calendar: Stop using ::button-{press,release}-event
Daniel Boles [Tue, 12 Sep 2017 21:48:58 +0000 (22:48 +0100)]
FlowBox: Explain how to avoid inflated min size
along the orthogonal orientation. It seems a FlowBox on its own can only
handle being shrunk along its main orientation. The orthogonal requests
a huge min size – reserving what it would need if the main orientation
got its min size, which would flow all children in 1 line orthogonally.
Adding it to a ScrolledWindow (any policy) enables free shrinking, so
size_allocate() can reflow how users in this situation probably expect.
https://bugzilla.gnome.org/show_bug.cgi?id=787021
Hiroyuki Ito [Mon, 11 Sep 2017 12:02:13 +0000 (12:02 +0000)]
ColorButton: Don’t destroy dialog @ ::delete-event
Without specifically connecting ::delete-event to something, the dialog
will be destroyed when it is closed, for example by pressing Esc. This
meant that when dismissing it this way, unlike by pressing Cancel, any
custom palette would be lost when the dialog was next opened, and so on.
Resolve this by making ::delete-event just do GTK_RESPONSE_CANCEL, so
closing the dialog has the same effect as clicking its Cancel button.
https://bugzilla.gnome.org/show_bug.cgi?id=787444
Stas Solovey [Tue, 12 Sep 2017 19:15:22 +0000 (19:15 +0000)]
Update Russian translation
(cherry picked from commit
eeeb8f21e22aca6bbea70d566287e3c19f4cafda)
Philip Withnall [Thu, 9 Feb 2017 17:17:05 +0000 (17:17 +0000)]
gtksettings: Add a debug message if there is no default GtkSettings
Make it slightly more obvious when things are about to slide sideways
because a NULL GtkSettings has been returned to a caller. This is a
valid return value, but is rarely handled correctly.
https://bugzilla.gnome.org/show_bug.cgi?id=778382
Philip Withnall [Mon, 11 Sep 2017 08:26:52 +0000 (09:26 +0100)]
gtknotebook: Simplify some if-conditions
Signed-off-by: Philip Withnall <withnall@endlessm.com>
https://bugzilla.gnome.org/show_bug.cgi?id=787303
Philip Withnall [Mon, 11 Sep 2017 08:23:17 +0000 (09:23 +0100)]
gtkmountoperation-x11: Do array length check before dereference
Signed-off-by: Philip Withnall <withnall@endlessm.com>
https://bugzilla.gnome.org/show_bug.cgi?id=787302
Nirbheek Chauhan [Thu, 7 Sep 2017 18:23:41 +0000 (23:53 +0530)]
build: Add dependency fallbacks for libs with meson ports
With these changes gtk+ builds for me using fallbacks for all libraries
with fallbacks available. Needs the following changes:
https://github.com/ebassi/graphene/pull/109 (graphene)
https://bugzilla.gnome.org/show_bug.cgi?id=787414 (pango)
https://github.com/mesonbuild/meson/pull/2291 (will be in meson 0.42.1)
https://bugzilla.gnome.org/show_bug.cgi?id=787416
Nirbheek Chauhan [Thu, 7 Sep 2017 18:20:38 +0000 (23:50 +0530)]
build: Add girs and typelibs as sources to libgtk_dep
This will be needed by any projects that want to use gtk+ as
a subproject.
https://bugzilla.gnome.org/show_bug.cgi?id=787416
Matthias Clasen [Mon, 11 Sep 2017 18:45:36 +0000 (14:45 -0400)]
Fix rendering glyphs from the cache
We were not quite using all the right dimensions.
Matthias Clasen [Mon, 11 Sep 2017 18:02:44 +0000 (14:02 -0400)]
Some fixes for the glyph cache
Copy the way cogl does its glyph caching some more.
At the minimum, this fixes problems where we were getting
wrong-sized Emoji inserted.
Matthias Clasen [Mon, 11 Sep 2017 15:22:59 +0000 (11:22 -0400)]
Cosmetic changes
Make sure the cache size does not get out of sync with the
actual surface size.
Matthias Clasen [Mon, 11 Sep 2017 15:22:10 +0000 (11:22 -0400)]
Cosmetic changes
Use Pango macros for handling PANGO_SCALE.
Matthias Clasen [Mon, 11 Sep 2017 15:17:41 +0000 (11:17 -0400)]
Fix a corner-case for emoji input
As reported in https://github.com/ibus/ibus/issues/1944,
typing u201e while holding Ctrl+Shift used to give a „
when letting go of Ctrl+Shift. This broke when we introduced
Ctrl+Shift+e to start Emoji sequences. Fix this by only
looking for Ctrl+Shift+e if we are not already in a hex
sequence.
Matthias Clasen [Mon, 11 Sep 2017 15:15:00 +0000 (11:15 -0400)]
rate-limit the glyph cache dumping
Writing the file out every frame really isn't necessary.
Do it once per second.
Matthias Clasen [Mon, 11 Sep 2017 01:55:22 +0000 (21:55 -0400)]
vulkan: Add a primitive glyph cache
This is just a proof of concept - we use a single 1024x1024 surface,
and just give up when we run out of space. The cache is populated
incrementally, and items are never removed.
Matthias Clasen [Fri, 1 Sep 2017 20:58:42 +0000 (16:58 -0400)]
More work on text nodes
This commit takes several steps towards rendering text
like we want to.
The creation of the cairo surface and texture is moved
to the backend (in GskVulkanRenderer). We add a mask
shader that is used in the next text pipeline to use
the texture as a mask, like cairo_mask_surface does.
There is a separate color text pipeline that uses the
already existing blend shaders to use the texture as
a source, like cairo_paint does.
The text node api is simplified to have just a single
offset, which determines the left end of the text baseline,
like all our other text drawing APIs.
Balázs Úr [Sun, 10 Sep 2017 18:29:44 +0000 (18:29 +0000)]
Update Hungarian translation
Ask Hjorth Larsen [Sun, 10 Sep 2017 16:17:44 +0000 (18:17 +0200)]
Updated Danish translation
Ask Hjorth Larsen [Sun, 10 Sep 2017 16:11:48 +0000 (18:11 +0200)]
Updated Danish translation
Daniel Șerbănescu [Sun, 10 Sep 2017 11:27:45 +0000 (11:27 +0000)]
Update Romanian translation
Daniel Șerbănescu [Sun, 10 Sep 2017 11:24:32 +0000 (11:24 +0000)]
Update Romanian translation
Jordi Mas [Sun, 10 Sep 2017 06:24:27 +0000 (08:24 +0200)]
Fixes to Catalan translation
Inaki Larranaga Murgoitio [Sat, 9 Sep 2017 15:53:08 +0000 (17:53 +0200)]
Update Basque language
Inaki Larranaga Murgoitio [Sat, 9 Sep 2017 15:52:17 +0000 (17:52 +0200)]
Update Basque language
Daniel Boles [Thu, 7 Sep 2017 13:53:59 +0000 (14:53 +0100)]
Entry: Fix leak of text in ensure_has_tooltip()
Thanks to Mohammed Sadiq for noticing this. I guess I got
Widget.get_tooltip_text() confused with Label.get_label().
https://bugzilla.gnome.org/show_bug.cgi?id=787410
Javier Jardón [Wed, 6 Sep 2017 19:45:00 +0000 (20:45 +0100)]
meson.build: enable-tests -> build-tests
This completes
b5e00d36f084b827c48e4c9b8adc8fcedc14f2ff
Piotr Drąg [Wed, 6 Sep 2017 18:17:24 +0000 (20:17 +0200)]
Update Polish translation
Matthias Clasen [Wed, 6 Sep 2017 13:43:24 +0000 (09:43 -0400)]
Rename enable-documentation and enable-man-pages options
You can now disable the documentation build with
-Ddocumentation=false and -Dman-pages=false.
Matthias Clasen [Wed, 6 Sep 2017 13:27:59 +0000 (09:27 -0400)]
Rename and document the enable-gir option
You can disable introspection now with -Dintrospection=false.
Matthias Clasen [Wed, 6 Sep 2017 12:33:18 +0000 (08:33 -0400)]
Allow building without tests and demos
This is meant to cut down build time in flatpak and similar
situations. Since it produces technically incomplete builds,
we list these options in the status output at the end of
the meson run.
Matthias Clasen [Wed, 6 Sep 2017 12:04:33 +0000 (08:04 -0400)]
popover: Fix a warning
We were unintentionally disconnecting an already-disconnected
signal handler in some cases. Don't do that, it causes warnings.
Matthias Clasen [Wed, 6 Sep 2017 10:59:22 +0000 (06:59 -0400)]
gtk4-demo: Fix up the event axes demo
Use a drawing area instead of drawing directly on the
window, which doesn't work well with csd.
Matthias Clasen [Wed, 6 Sep 2017 10:29:32 +0000 (06:29 -0400)]
gtk4-demo: add a few missing window titles
Çağatay Yiğit Şahin [Wed, 6 Sep 2017 06:49:29 +0000 (06:49 +0000)]
Update Turkish translation
Matthias Clasen [Wed, 6 Sep 2017 03:29:59 +0000 (23:29 -0400)]
entry: Set a clip
Now that GtkEntry is using a text node, we were spilling
the contents out to the side when the entry is scrolling.
Avoid that by setting a clip.
Chun-wei Fan [Mon, 4 Sep 2017 15:29:34 +0000 (23:29 +0800)]
gskpango.c: Include cairo.h consistently
The other source files use "#include <cairo.h>", so we should do
likewise.
https://bugzilla.gnome.org/show_bug.cgi?id=773299
Daniel Boles [Tue, 5 Sep 2017 20:31:42 +0000 (21:31 +0100)]
ActionBar: Fix links in set_revealed() doc, etc.
mostly: syncing with previous commit, where InfoBar copied this all from
Also, remove my unhelpful “and vice-versa” from InfoBar.
Daniel Boles [Tue, 5 Sep 2017 19:19:33 +0000 (20:19 +0100)]
InfoBar: Fix typos in set_revealed() documentation
Fix a parameter type and a link to the corresponding property.
Tweak the wording and whatnot a little while at it.
Patrick Griffis [Tue, 5 Sep 2017 16:47:10 +0000 (12:47 -0400)]
build: Improve vulkan resource handling
This fixes the proper dependencies getting set up for generating
the shaders and only the necessary things getting rebuilt on
resources changing in gsk.
Mario Blättermann [Tue, 5 Sep 2017 17:56:32 +0000 (17:56 +0000)]
Update German translation
Mario Blättermann [Tue, 5 Sep 2017 17:52:35 +0000 (17:52 +0000)]
Update German translation
Balázs Úr [Tue, 5 Sep 2017 15:16:16 +0000 (15:16 +0000)]
Update Hungarian translation
Balázs Úr [Tue, 5 Sep 2017 15:14:28 +0000 (15:14 +0000)]
Update Hungarian translation
Marek Cernocky [Tue, 5 Sep 2017 14:38:18 +0000 (16:38 +0200)]
Updated Czech translation
Jakub Steiner [Wed, 23 Aug 2017 20:26:06 +0000 (22:26 +0200)]
adwaita: use generic sidebar icon style
https://bugzilla.gnome.org/show_bug.cgi?id=786613
Daniel Mustieles [Tue, 5 Sep 2017 10:35:00 +0000 (10:35 +0000)]
Update Spanish translation
Daniel Mustieles [Tue, 5 Sep 2017 10:33:59 +0000 (10:33 +0000)]
Update Spanish translation
Jean-Baptiste Holcroft [Tue, 5 Sep 2017 08:31:53 +0000 (08:31 +0000)]
Update French translation
Timm Bäder [Tue, 5 Sep 2017 08:07:54 +0000 (10:07 +0200)]
build: Depend on wayland-protocols 1.9
Needed for the keyboard shortcuts inhibit protocol
Matthias Clasen [Tue, 5 Sep 2017 02:58:05 +0000 (22:58 -0400)]
Typo fix
Matthias Clasen [Sun, 3 Sep 2017 13:54:47 +0000 (09:54 -0400)]
A somewhat working blur shader
This is a very direct implementation of a Gaussian blur,
without any optimizations.
Andika Triwidada [Tue, 5 Sep 2017 01:12:51 +0000 (01:12 +0000)]
Update Indonesian translation
Andika Triwidada [Tue, 5 Sep 2017 01:09:35 +0000 (01:09 +0000)]
Update Indonesian translation
Daniel Boles [Tue, 5 Sep 2017 00:42:31 +0000 (01:42 +0100)]
HighContrast: Stop hovered emoji from disappearing
Otherwise emoji are invisible in the normal variant & nearly in Inverse.
https://bugzilla.gnome.org/show_bug.cgi?id=787279
Daniel Boles [Tue, 5 Sep 2017 00:42:13 +0000 (01:42 +0100)]
Adwaita: Fix a selector not regenerated in the CSS
Daniel Boles [Mon, 4 Sep 2017 23:58:00 +0000 (00:58 +0100)]
HighContrast: Kill abominable headerbar vseparator
Commit
8cd37ff0df75d890d71d40c0f23a42533853ad7b fixed a syntax error and
unwittingly released this bizarre mutant.
Daniel Boles [Mon, 4 Sep 2017 18:56:47 +0000 (19:56 +0100)]
EmojiChooser: Ensure always have a selected button
We were only selecting a section’s button if the adjustment y coord was
within its heading, so scrolling slightly into it unchecked all buttons.
This also fixes how we could end up with the first 2 selected, somehow.
https://bugzilla.gnome.org/show_bug.cgi?id=787172
Daniel Boles [Sat, 2 Sep 2017 17:47:47 +0000 (18:47 +0100)]
EmojiChooser: Check the 1st button before 1st show
We scroll to the top in show() but only ever selected a button when the
adjustment changed, which doesn’t happen in init(). Check it manually.
https://bugzilla.gnome.org/show_bug.cgi?id=787172
Piotr Drąg [Mon, 4 Sep 2017 21:53:19 +0000 (23:53 +0200)]
Update Polish translation
Rafael Fontenelle [Mon, 4 Sep 2017 19:54:43 +0000 (19:54 +0000)]
Update Brazilian Portuguese translation
Rafael Fontenelle [Mon, 4 Sep 2017 19:52:31 +0000 (19:52 +0000)]
Update Brazilian Portuguese translation
Matthias Clasen [Sun, 3 Sep 2017 04:15:04 +0000 (00:15 -0400)]
css: Implement the blur filter
This implementation is somewhat incomplete, since
we don't allow combining blur with the other filters
yet.
Matthias Clasen [Mon, 4 Sep 2017 02:26:56 +0000 (22:26 -0400)]
Render the main overlay child only once
Use a separate snapshot to capture the main child render node
and reuse it multiple times, instead of generating multiple
nodes for the same content.
Matthias Clasen [Sun, 3 Sep 2017 00:43:42 +0000 (20:43 -0400)]
Add a test for overlay blur
Matthias Clasen [Sun, 3 Sep 2017 00:42:47 +0000 (20:42 -0400)]
Add a blur child property to GtkOverlay
When set, it blurs the content behind the child.
Matthias Clasen [Sun, 3 Sep 2017 03:50:39 +0000 (23:50 -0400)]
Add gtk_snapshot_push_blur()
This function is similar to the other push functions.
This one uses the newly created blur node.
Matthias Clasen [Sun, 3 Sep 2017 03:49:34 +0000 (23:49 -0400)]
gsk: Add a blur node
For now, this has just a fallback implementation using
the typical box filter approximation.
Baurzhan Muftakhidinov [Mon, 4 Sep 2017 15:51:35 +0000 (15:51 +0000)]
Update Kazakh translation
Julius Härtl [Thu, 10 Aug 2017 20:30:36 +0000 (22:30 +0200)]
gtkplacessidebar: implement libcloudproviders support
Add integration of the libcloudproviders DBus API to the
GtkPlacesSidebar by showing name and sync status of the cloud providers.
The exported menu is rendered as a GtkPopover.
The sidebar will be updated if the list of cloudproviders changes e.g.
by adding or removing an account. If any cloud provider changes detailed
information like sync status only the individual sidebar row gets
updated.
Co-authored-by: Carlos Soriano <csoriano@gnome.org>
Co-authored-by: Daniel Boles <dboles@src.gnome.org>
https://bugzilla.gnome.org/show_bug.cgi?id=786123
Daniel Boles [Sat, 2 Sep 2017 16:41:59 +0000 (17:41 +0100)]
HighContrast: basic port of emoji CSS from Adwaita
This is better than nothing: without specific CSS, the Chooser was too
large, the emoji were too small, and the buttons were generally ugly.
https://bugzilla.gnome.org/show_bug.cgi?id=786956
Daniel Boles [Sat, 2 Sep 2017 15:54:47 +0000 (16:54 +0100)]
Adwaita: proper colours for inactive emoji buttons
Use opacity to differentiate unselected/hovered/selected buttons. It had
assumed bg < border < fg colours, which may be false, as in Adwaita:dark
This also means we do not need to special-case for the backdrop state.
https://bugzilla.gnome.org/show_bug.cgi?id=786956
Daniel Boles [Sat, 2 Sep 2017 15:56:14 +0000 (16:56 +0100)]
Adwaita: Make use of SASS syntax for emoji stuff
This makes the theme easier to maintain.
https://bugzilla.gnome.org/show_bug.cgi?id=786956
Milo Casagrande [Mon, 4 Sep 2017 11:44:57 +0000 (11:44 +0000)]
Update Italian translation
Matthias Clasen [Sun, 3 Sep 2017 23:58:41 +0000 (19:58 -0400)]
Add rules to regenerate all shader variants
We were missing rules to build the clip variants of
the shaders.
Matthias Clasen [Sun, 3 Sep 2017 23:53:29 +0000 (19:53 -0400)]
Fix a compiler warning
Matthias Clasen [Sun, 3 Sep 2017 23:35:02 +0000 (19:35 -0400)]
Avoid empty nodes another way
Make gsk_text_node_new return NULL if the extents are empty.
Aurimas Černius [Sun, 3 Sep 2017 20:36:03 +0000 (23:36 +0300)]
Updated Lithuanian translation
Rūdolfs Mazurs [Sun, 3 Sep 2017 16:26:58 +0000 (19:26 +0300)]
Update Latvian translation
Jordi Mas [Sun, 3 Sep 2017 16:06:43 +0000 (18:06 +0200)]
Update Catalan translation
Matthias Clasen [Sun, 3 Sep 2017 15:57:21 +0000 (11:57 -0400)]
Add a workaround for vulkan crashes
I see 'out of memory' errors and crashes inside libvulkan when
creating nodes that have empty bounds and end up in the fallback
paths, like a shadow around an empty text node. Prevent this
by not creating text nodes in that case.
Matthias Clasen [Sun, 3 Sep 2017 15:34:41 +0000 (11:34 -0400)]
vulkan: Add more debug spew